home *** CD-ROM | disk | FTP | other *** search
- //Language: Unix shell
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal
- State=sstring1
- State=sstring2
- State=sstring3
- State=scomment1
- State=scomment2
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- Token=tdirective
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
- snormal 'alias' snormal tresword
- snormal 'bg' snormal tresword
- snormal 'bind' snormal tresword
- snormal 'break' snormal tresword
- snormal 'builtin' snormal tresword
- snormal 'case' snormal tresword
- snormal 'cd' snormal tresword
- snormal 'command' snormal tresword
- snormal 'continue' snormal tresword
- snormal 'declare' snormal tresword
- snormal 'dirs' snormal tresword
- snormal 'disown' snormal tresword
- snormal 'do' snormal tresword
- snormal 'done' snormal tresword
- snormal 'echo' snormal tresword
- snormal 'elif' snormal tresword
- snormal 'else' snormal tresword
- snormal 'enable' snormal tresword
- snormal 'esac' snormal tresword
- snormal 'eval' snormal tresword
- snormal 'exec' snormal tresword
- snormal 'exit' snormal tresword
- snormal 'export' snormal tresword
- snormal 'fc' snormal tresword
- snormal 'fg' snormal tresword
- snormal 'fi' snormal tresword
- snormal 'for' snormal tresword
- snormal 'function' snormal tresword
- snormal 'getopts' snormal tresword
- snormal 'hash' snormal tresword
- snormal 'help' snormal tresword
- snormal 'history' snormal tresword
- snormal 'if' snormal tresword
- snormal 'in' snormal tresword
- snormal 'jobs' snormal tresword
- snormal 'kill' snormal tresword
- snormal 'let' snormal tresword
- snormal 'local' snormal tresword
- snormal 'logout' snormal tresword
- snormal 'popd' snormal tresword
- snormal 'printf' snormal tresword
- snormal 'pushd' snormal tresword
- snormal 'pwd' snormal tresword
- snormal 'read' snormal tresword
- snormal 'readonly' snormal tresword
- snormal 'return' snormal tresword
- snormal 'select' snormal tresword
- snormal 'set' snormal tresword
- snormal 'shift' snormal tresword
- snormal 'shopt' snormal tresword
- snormal 'suspend' snormal tresword
- snormal 'test' snormal tresword
- snormal 'then' snormal tresword
- snormal 'time' snormal tresword
- snormal 'times' snormal tresword
- snormal 'trap' snormal tresword
- snormal 'type' snormal tresword
- snormal 'typeset' snormal tresword
- snormal 'ulimit' snormal tresword
- snormal 'umask' snormal tresword
- snormal 'unalias' snormal tresword
- snormal 'unset' snormal tresword
- snormal 'until' snormal tresword
- snormal 'wait' snormal tresword
- snormal 'while' snormal tresword
-
- // numbers
- snormal [1-9][0-9]* snormal tinteger
- snormal 0x[0-9A_F]+ snormal tinteger
- snormal 0X[0-9A_F]+ snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
- snormal [.-/A-Z_a-z~][.-9A-Z_a-z~]* snormal tident
-
- //white space
- snormal #32* snormal twhitespace
-
- //comments
- snormal \# scomment1 tcomment
- scomment1 [#1-#255]* snormal tcomment
- scomment1 $ snormal tcomment
-
- snormal {\<\<EOF} scomment2 tcomment
- scomment2 [^{EOF}]* scomment2 tcomment
- scomment2 E[^O]* scomment2 tcomment
- scomment2 O[^F]* scomment2 tcomment
- scomment2 F* scomment2 tcomment
- scomment2 {EOF} snormal tcomment
-
- //strings
- snormal \" sstring1 tstring
- sstring1 [^\"]* sstring1 tstring
- sstring1 \" snormal tstring
- sstring1 \"\" sstring1 tstring
- sstring1 \\ sstring1 tstring
- sstring1 \\\" sstring1 tstring
- sstring1 $ snormal tstring
-
- snormal \' sstring2 tstring
- sstring2 [^\']* sstring2 tstring
- sstring2 \' snormal tstring
- sstring2 \'\' sstring2 tstring
- sstring2 \\ sstring2 tstring
- sstring2 \\\' sstring2 tstring
-
- sstring2 $ snormal tstring
-
- snormal \` sstring3 tstring
- sstring3 [^\`]* sstring3 tstring
- sstring3 \` snormal tstring
- sstring3 \`\` sstring3 tstring
- sstring3 \\ sstring3 tstring
- sstring3 \\\` sstring3 tstring
- sstring3 $ snormal tstring
-